//package wxpay;
//
//public class wx {
//    @RequestMapping({"/wechat/wxcodepay.htm"})
//    public void wxcodepay(HttpServletRequest request, HttpServletResponse response, String order_id){
//
//        String UNI_URL = "https://api.mch.weixin.qq.com/pay/unifiedorder";
//        OrderForm of = this.orderFormService.getObjById(CommUtil.null2Long(order_id));
//        String returnhtml = null;
//        if (of.getOrder_status() == 10) {
//
//            List payments = new ArrayList();
//            Map params = new HashMap();
//            //判断是否平台支付
//            if (this.configService.getSysConfig().getConfig_payment_type() == 1) {
//                params.put("mark", "wxcodepay");
//                params.put("type", "admin");
//                payments = this.paymentService.query(
//                        "select obj from Payment obj where obj.mark=:mark and obj.type=:type", params, -1, -1);
//            } else {
//                params.put("mark", "wxcodepay");
//                params.put("store_id", of.getStore().getId());
//                payments = this.paymentService.query(
//                        "select obj from Payment obj where obj.mark=:mark and obj.store.id=:store_id", params, -1, -1);
//            }
//            Payment payment = (Payment) payments.get(0);
//            of.setPayment(payment);
//            this.orderFormService.update(of);
//
//            String codeUrl = "";//微信返回的二维码地址信息
//
//            SortedMap<Object, Object> parameters = new TreeMap<Object, Object>();
//            parameters.put("appid", payment.getWeixin_appId());// 公众账号id
//            parameters.put("mch_id", payment.getWeixin_partnerId());// 商户号
//            parameters.put("nonce_str", WxCommonUtil.createNoncestr());// 随机字符串
//            parameters.put("body", "在线购物");// 商品描述
//            parameters.put("out_trade_no", order_id);// 商户订单号
//            parameters.put("total_fee", of.getTotalPrice().multiply(new BigDecimal(100)).setScale(0).toString());// 总金额
//            //parameters.put("total_fee", "1");
//            parameters.put("spbill_create_ip", WxCommonUtil.localIp());// 终端IP.Native支付填调用微信支付API的机器IP。
//            // 支付成功后回调的action，与JSAPI相同
//            //parameters.put("notify_url", basePath + NOTIFY_URL);// 支付成功后回调的action
//            parameters.put("notify_url", "http://www.meicunmeihu.com/wechat/paynotify.htm");//支付成功后回调的action，与JSAPI相同
//            parameters.put("trade_type", "NATIVE");// 交易类型
//            parameters.put("product_id", order_id);// 商品ID。商品号要唯一,trade_type=NATIVE，此参数必传。此id为二维码中包含的商品ID，商户自行定义
//            //String sign = WxPayUtil.createSign2("UTF-8", parameters, API_KEY);
//            String sign = WxCommonUtil.createSignMD5("UTF-8", parameters, payment.getWeixin_paySignKey());
//            parameters.put("sign", sign);// 签名
//            String requestXML = WxCommonUtil.getRequestXml(parameters);
//            logger.info("requestXML"+requestXML);
//            String result = WxCommonUtil.httpsRequestString(UNI_URL, "POST", requestXML);//WxCommonUtil.httpsRequest(WxConstants.UNIFIED_ORDER_URL, "POST", requestXML);
//            System.out.println(" 微信支付二维码生成" + result);
//            Map<String, String> map = new HashMap<String, String>();
//            try {
//                map = WxCommonUtil.doXMLParse(result);
//                logger.info("------------------code_url="+map.get("code_url")+";      result_code="+map.get("code_url")+"------------------------------");
//            } catch (Exception e) {
//                logger.error("doXMLParse()--error",e);
//            }
//            String returnCode = map.get("return_code");
//            String resultCode = map.get("result_code");
//
//            if (returnCode.equalsIgnoreCase("SUCCESS")
//                    && resultCode.equalsIgnoreCase("SUCCESS")) {
//                codeUrl = map.get("code_url");
//                // 拿到codeUrl，生成二维码图片
//                byte[] imgs = QRCodeEncoderHandler.createQRCode(codeUrl);
//
//                String urls = request.getSession().getServletContext().getRealPath("/")+this.configService.getSysConfig().getUploadFilePath()
//                        + java.io.File.separator + "weixin_qr" + java.io.File.separator + "wxpay"
//                        + java.io.File.separator;
//                // 图片的实际路径
//                String imgfile = urls + order_id + ".png";
//
//                QRCodeEncoderHandler.saveImage(imgs, imgfile, "png");
//
//                // 图片的网路路径
//                String imgUrl = CommUtil.getURL(request) + "/"
//                        + this.configService.getSysConfig().getUploadFilePath()
//                        + "/weixin_qr/wxpay/" + order_id + ".png";
//
//                logger.info("图片的网路路径imgurl={}",imgUrl);
//
//                returnhtml = "< img src='"+imgUrl+"' style='width:200px;height:200px;'/>";
//
//            } else {
//                returnhtml = "支付状态不正确";
//            }
//        }
//        response.setContentType("text/plain");
//        response.setHeader("Cache-Control", "no-cache");
//        response.setCharacterEncoding("UTF-8");
//        try {
//            PrintWriter writer = response.getWriter();
//            writer.print(returnhtml);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        //return returnhtml;
//    }
//}
